#define DEBUG 0

typedef unsigned long long ll;
typedef ll Data;
typedef ll Key;
typedef int* Table;

void toData(const char* buf, Data *d,int len);
void printData(Data d,char* buf);

/**
 * DES加密函数
 * @param key char* 密钥
 * @param msg char* 需要加密的信息
 * @param len int 需要加密的信息的长度
 * @param output char* 加密的结果
*/
int des(const char *key, const char *msg, int len, char *output);

/**
 * DES解密函数
 * @param key char* 密钥
 * @param msg char* 需要解密的信息
 * @param len int 需要解密的信息的长度
 * @param output char* 解密的结果
*/
void rdes(const char *key, const char *msg, int len, char *output);


void printBase64(const unsigned char *str);